package com.tencent.welink.api.video;

import com.tencent.welink.api.OpenApiTokenChange;
import com.tencent.welink.api.base.WelinkOpenApi;
import com.tencent.welink.config.BussinessConfig;
import com.tencent.welink.util.CrontabUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Map;

/**
 * @Description: 录像保护
 * 用于设置录像的生命周期，设置录像的开始时间、结束时间以及录像删除的时间。
 * 单次设置保护的时长最大为 24 小时，start 和 end 的时差超过 24 小时会返回错误。
 * life_time 和当前时间差不能小于一小时。避免误操作导致录像被立即删除。
 * 比如当前是北京时间 2017-7-29 12:00:00，那么设置的 life_time 只能
 * 大于 2017-7-29 13:00:00
 * @Author: limye
 * @CreateDate: 2020-6-8
 * @Version: V1.0
 */
public class SetRecordLife extends WelinkOpenApi {

    private static final Logger log = LogManager.getLogger(SetRecordLife.class);

    public SetRecordLife() {
        super("/common/video/setRecordLife", true);
    }


    @Override
    public void displayResult(String result) {
    }


    public static void main(String[] args) {
        new BussinessConfig();
        CrontabUtil.addTaskInRate(new OpenApiTokenChange(), BussinessConfig.loginDurationMinutes, true);

        //实例化对象
        SetRecordLife instance = new SetRecordLife();

        /**
         * 请求参数	参数类型	是否必填	参数说明
         din	String	是	设备的唯一标识
         start	Long	是	开始时间，时间戳，单位：毫秒
         end	Long	是	结束时间，时间戳，单位：毫秒
         life_time	Long	是	录像删除的时间，时间戳，单位：毫秒
         sub_id	String	否	子摄像头id
         */
        //添加参数
        Map<String, Object> map = instance.getExtendsPara();
        map.put("din", "200200000000000334");
        map.put("start", System.currentTimeMillis() );
        map.put("end", System.currentTimeMillis() + 1*3600*1000L);
        map.put("life_time", System.currentTimeMillis() + 2*3600*1000L);
       // map.put("sub_id", "");

        //执行HTTP请求及展示结果
        instance.DoHttp();
        CrontabUtil.shutdown();

    }
}
